What's our next JVM language?

Anushree Singh

Krazyglue Team

Problem Statement

Explore and study new languages to make sure we are using the most efficient one

Scope & Goals

What kind of application is krazyglue:

  1. Computation intensive
  2. DB Intensive
  3. Request driven ✔

Candidate languages

  1. Clojure       Emphasis on functional programming
  2. Groovy       Dynamic language with static-typing - concise, easy to learn syntax
  3. Kotlin         Statically typed for JVM, Android and the browser
  4. Scala         Full support for functional programming and object oriented programming

Choose a part of krazyglue to work on which:

Point of Sale Retreiver

Why is Clojure not a good fit

Non performance metrics

Results: Non performance metrics

Performance metrics

CPU Usage

↑ CPU usage = ↓ performance

 

Classes loaded

↑ Number of classes loaded = ↓ performance

 

Heap Size used

↑ heap size used = ↓ performance

 

Threads started

 

Results: Performance

Final Results

My Recommendation : SCALA

Thank you! ✌️

The presentation can be found on: https://anushreesingh.github.io/krazypresentation/

This presentation has been made using markpress (https://www.npmjs.com/package/markpress)